# __all__变量
# 使用import *的方式导入时实际上只是导入了__all__变量(列表)中的功能
# 没有定义__all__变量时就默认导入全部功能
# 可以通过直接其他import功能的方法导入
__all__ = ['test']


def test(a, b):
    return a + b


def test2():
    print("test2的调用")


# __main__变量
# .py文件都有内置变量__name__
# 右键运行文件时__name__变量便会赋值为__main__, 代码就会正常执行
# 而.py文件作为模块导入时则不会执行赋值操作, 从而避免导入模块时执行了模块内的函数(一般是测试函数)
print("没有写在if里的函数在该模块被导入时会执行")
if __name__ == '__main__':
    print(test(6, 7))
    print("这里的函数只有在右键运行此.py文件时会执行")
